package com.kingyea.mobilepolice.apimanage.accesscontrol.service;

import com.kingyea.mobilepolice.apimanage.accesscontrol.bean.AccessController;
import com.kingyea.mobilepolice.apimanage.accesscontrol.handle.Keyword;
import com.kingyea.mobilepolice.apimanage.paraminfo.bean.ParamInfo;
import com.kingyea.mobilepolice.apimanage.utils.page.PageInfo;

import java.util.List;
import java.util.Map;

/**
 * @author chenjw
 * @version v1.0.0
 * @description AccessController 接口
 * @date Created in 2018-04-03 15:31:23
 */
public interface AccessControllerService {

    /**
     * 通过ID查找对象
     *
     * @param id
     * @return
     */
    AccessController getById(Integer id) throws Exception;

    /**
     * 列表
     *
     * @param accessController
     * @return
     */
    List<AccessController> list(AccessController accessController) throws Exception;

    /**
     * 删除
     *
     * @param id
     * @return
     */
    int deleteById(Integer id) throws Exception;

    /**
     * 添加
     *
     * @param accessController
     * @return
     */
    AccessController save(AccessController accessController) throws Exception;

    /**
     * 更新
     *
     * @param accessController
     * @return
     */
    AccessController update(AccessController accessController) throws Exception;

    List<Keyword> getKeyworList(String serviceId);

    AccessController getByServiceId(Integer serviceID);

    PageInfo searchByCondition(Map<String, Object> map) throws Exception;

    List<ParamInfo> getParamInfoByServiceId(Integer id);

    List<Keyword> getALLKeyword();

    void addOrSaveACCInfo(AccessController accessController) throws Exception;
}
